import time
import allure
import pytest
from page.search_page import SousuoPage
from utils import DriverUitls, cunzaiys, read_json

class TestSousuo:

    # 类级别前置方法：打开浏览器
    def setup_class(self):
        # ②创建浏览器驱动对象
        self.driver = DriverUitls.get_driver()
        self.driver.maximize_window()

    # 类级别后置方法：关闭浏览器
    def teardown_class(self):
        # ⑥浏览器驱动对象退出
        # self.driver.quit()
        DriverUitls.quit_driver()

    # 方法级别前置方法：重新打开页面
    def setup_method(self):
        # ③访问页面
        self.driver.get("https://www.ypshuo.com/")

    # 方法级别后置方法：每个用例执行完成之后，停留2S
    def teardown_method(self):
        # ⑤暂停几秒钟
        time.sleep(2)

    @pytest.mark.parametrize("case_name,name,exp_el",read_json("login_sousuo"))
    def test01_login_suc(self, case_name,name,exp_el):
        allure.dynamic.title(case_name)
        allure.dynamic.severity("normal")
        with allure.step("测试步骤一:在首页点击搜索输入搜索内容，进入页面"):
            SousuoPage().home_to_sousuo(name)
        with allure.step("测试步骤二:点击搜索按钮完成搜索"):
            SousuoPage().home_to_dianjisousuo()
        with allure.step("测试步骤三:断言"):
            is_suc = cunzaiys(self.driver,exp_el)
            assert is_suc == True
        allure.attach(self.driver.get_screenshot_as_png(),
                      "搜索结果截图", allure.attachment_type.PNG)

